package com.gome.han.bigdata.spark.core.rdd.partitionAndparallel

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD

/**
 * @author Hanpeng
 * @date 2021/1/11 20:48
 * @description:
 */
object CreateRDDPartition {
  def main(args: Array[String]): Unit = {
    //TODO 准备环境
    val sparkConf:SparkConf = new SparkConf();
    sparkConf.setMaster("local[*]").setAppName("CreateRddFromMem");
    val sc:SparkContext = new SparkContext(sparkConf);
    //TODO 创建RDD
    //从文件中创建RDD 将文件中的数据作为处理的数据源
    //textFile 以行为单位读取数据 读取的数据都是字符串
    //wholeTextFiles 以文件为单位读取数据 读取的数据表示为元组 第一个表示文件路径  第二个表示文件内容
    val list: List[Int] = List(1, 2, 3, 4);
    //2个分区
    //makeRDD 第二个参数是 分区的数量 默认值为core数量
    //
    //val rdd: RDD[Int] = sc.makeRDD(list,2);
    val rdd: RDD[Int] = sc.makeRDD(list);
    rdd.saveAsTextFile("output")
    // TODO 关闭环境
    sc.stop()
  }
}
